iT邦幫忙

2024 iThome 鐵人賽

DAY 26
0
自我挑戰組

30天初探tensorflow之旅系列 第 26

Day 26 關於長短期記憶網路(LSTM)

  • 分享至 

  • xImage
  •  

昨天介紹循環神經網路的變體中有一個叫做長短期記憶網路(LSTM),我發現它可以延伸一篇討論一下。

介紹
長短期記憶網路(LSTM)是一種特殊類型的循環神經網路,主要在解決標準 RNN 處理長序列時可能遇到的梯度消失或梯度爆炸問題,它可以捕捉長期依賴關係,這讓它在自然語言處理、時間序列預測等事情上非常有效。

問題
這邊要特別提到梯度消失 gradient🐓 vanishing ,梯度消失是深度神經網路訓練過程中的一種現象,特別在用像 sigmoid 或 tanh 等激活函數時特別明顯,它發生在反向傳播過程中,損失函數的梯度逐漸變得非常小。會導致這樣的原因就是某些激活函數會將輸入值壓縮到小範圍內,導致梯度變小,或隨著網路深度增加,很多小梯度的乘積可能會導致梯度迅速減小。

結構
https://ithelp.ithome.com.tw/upload/images/20241010/20169330u8MUZzusEs.png
這邊還是要提到它的三個主要門控機制:
1.遺忘門(Forget Gate)
數學公式:
https://ithelp.ithome.com.tw/upload/images/20241010/20169330MtDRlflFB0.png
決定哪些信息該被丟棄或保留,並通過 sigmoid 函數 σ,輸出一個0到1之間的數值,0表示完全忘記,1表示完全保留。
2.輸入門(Input Gate)
數學公式:
https://ithelp.ithome.com.tw/upload/images/20241010/20169330Kh31rVYYvR.png
決定哪些新信息應該被加入到單元狀態中,它也依賴於當前輸入和前一隱藏狀態。
3.輸出門(Output Gate)
數學公式:
https://ithelp.ithome.com.tw/upload/images/20241010/20169330zOWiynbdwf.png
決定單元狀態哪些部分應該輸出到下一層,它也基於當前輸入和單元狀態來計算。

LSTM 通常使用 tanh 和 sigmoid 函數,這些函數的輸出範圍限制在 -1 到 1 之間,雖然仍可能遇到梯度消失,但有門控機制,模型就可以控制梯度的流動,而減少這種情況的發生。


上一篇
Day 25 循環神經網路(RNN)處理 MNIST
下一篇
Day 27 用MNIST訓練生成對抗網路(GAN)
系列文
30天初探tensorflow之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言